﻿Namespace DotNetNuke.Modules.Help
    Public Interface IDataProvider

#Region "Category methods"

        Function AddCategory(ByVal moduleID As Integer, ByVal title As String, ByVal description As String, ByVal image As Integer, ByVal keyWords As String, ByVal ViewOrder As Integer, ByVal level As Integer, ByVal parent As Integer, ByVal visible As Boolean, ByVal UserId As Integer) As Integer
        Function AddCategory(ByVal moduleID As Integer, ByVal CategoryGUID As Guid, ByVal title As String, ByVal description As String, ByVal image As Integer, ByVal keyWords As String, ByVal ViewOrder As Integer, ByVal level As Integer, ByVal parent As Integer, ByVal visible As Boolean, ByVal UserId As Integer) As Integer
        Function GetCategory(ByVal moduleID As Integer, ByVal categoryID As Integer) As System.Data.IDataReader
        Function GetCategories(ByVal ModuleId As Integer, ByVal active As Boolean) As IDataReader
        Function GetCategories(ByVal ModuleId As Integer, ByVal tutorialId As Integer) As IDataReader
        Function GetChildCategories(ByVal moduleId As Integer, ByVal parentId As Integer, ByVal active As Boolean) As IDataReader
        Sub UpdateCategory(ByVal moduleID As Integer, ByVal categoryID As Integer, ByVal title As String, ByVal description As String, ByVal image As Integer, ByVal keyWords As String, ByVal ViewOrder As Integer, ByVal level As Integer, ByVal parent As Integer, ByVal visible As Boolean, ByVal UserId As Integer)
        Sub SetCategoryVisibility(ByVal categoryID As Integer, ByVal visibility As Integer)
        Sub SetCategoryLevel(ByVal CategoryID As Integer, ByVal CategoryLevel As Integer)
        Sub DeleteCategory(ByVal moduleID As Integer, ByVal categoryID As Integer)

#End Region

#Region "Tutorial methods"

        Function GetTutorials(ByVal ModuleId As Integer) As IDataReader
        Function GetTutorials(ByVal ModuleId As Integer, ByVal CategoryId As Integer, ByVal Sorted As Boolean) As IDataReader
        Function GetTutorial(ByVal ModuleId As Integer, ByVal ItemId As Integer) As IDataReader
        Function AddTutorial(ByVal moduleID As Integer, ByVal title As String, ByVal productImage As String, ByVal featured As Boolean, ByVal keyWords As String, ByVal downloadName As String, ByVal shortDesc As String, ByVal archive As Boolean, ByVal description As String, ByVal categories As String, ByVal UserId As Integer) As Integer
        Function AddTutorial(ByVal moduleID As Integer, ByVal tutorialGUID As Guid, ByVal title As String, ByVal productImage As String, ByVal featured As Boolean, ByVal keyWords As String, ByVal downloadName As String, ByVal shortDesc As String, ByVal archive As Boolean, ByVal description As String, ByVal categories As String, ByVal UserId As Integer) As Integer
        Sub UpdateTutorial(ByVal ModuleId As Integer, ByVal ItemId As Integer, ByVal title As String, ByVal productImage As String, ByVal featured As Boolean, ByVal keyWords As String, ByVal downloadName As String, ByVal shortDesc As String, ByVal archive As Boolean, ByVal description As String, ByVal categories As String, ByVal UserId As Integer)
        Sub UpdateTutorial(ByVal tutorialID As Integer, ByVal categoryID As Integer, ByVal viewOrder As Integer)
        Sub DeleteTutorial(ByVal ModuleId As Integer, ByVal ItemId As Integer)
        Function SearchTutorials(ByVal searchText As String, ByVal categoryModuleId As Integer) As IDataReader
#End Region

    End Interface
End Namespace

